Often, one electronic device may need to send data to another electronic device over a computer or communications network. For example, in a client-server environment, a client may send data on the client to a server, and similarly, a server may send data on the server to a client. As another example, a user may synchronize data between two of his/her electronic devices by sending data from one device to the other device.